﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Dabr.NET
{
    public struct MenuItem
    {
        public bool Security, Hidden;
        public char AccessKey;
        public Action CallBack;

        public MenuItem(Action callback, char accesskey, bool security, bool hidden)
        {
            CallBack = callback;
            AccessKey = accesskey;
            Security = security;
            Hidden = hidden;
        }

        #region Derived constructors
        public MenuItem(Action callback) : this(callback, '\0', false, false) { }
        public MenuItem(Action callback, bool security) : this(callback, '\0', security, false) { }
        public MenuItem(Action callback, bool security, bool hidden) : this(callback, '\0', security, hidden) { }
        public MenuItem(Action callback, char accesskey) : this(callback, accesskey, false, false) { }
        public MenuItem(Action callback, char accesskey, bool security) : this(callback, accesskey, security, false) { }
        #endregion
    }
}